/**
 * 上海中赢金融信息服务有限公司
 * Copyright (c) 2016-2026 hmc,Inc.All Rights Reserved.
 */
package com.sys.midware.config.core;
/**
 * 
 * <b>ClassName：</b> ConfigContext <br/>
 * <b>Description：</b> config上下文本地变量类 <br/>
 * <b>@author：</b> mobing <br/>
 * <b>@date：</b> 2015年10月16日 下午7:44:17 <br/>
 * <b>@version: </b>  <br/>
 */
public class ConfigContext {

    private static final ThreadLocal<Configuration> LOCAL = new ThreadLocal<Configuration>();

    /**
     * 设置当前配置
     */
    public static void setConfiguration(Configuration newNode) {
        if (newNode != null) {
            Configuration oldNode = LOCAL.get();
            if (oldNode != newNode) {
                LOCAL.remove();
                LOCAL.set(newNode);
            }
        }
    }

    /**
     * 获取当前线程的配置
     */
    public static Configuration getConfiguration() {
        return LOCAL.get();
    }

    /**
     * 移除当前线程
     */
    public static void clear() {
        LOCAL.remove();
    }
}
